JPA 기초 7. 프록시와 연관관계 관리 em.find(): 데이터 베이스를 통해서 실제 엔티티 객체 조회 em.getReference(): 데이터 베이스 조회를 미루는 가짜(프록시) 객체 조회 프록시 특징 프록시 객체는 처음 사용할 때 한번만 초기화 프록시 객체를 초기화할 때 프록시 객체가 실제 엔티티로 바뀌는 것이 아님, 초기화 되면 프록시 객체를 통해 실제 엔티티에 접근 가능 프록시 객체는 원본 엔티티를 상속 받음, 따라서 타... JPA 기초SpringJPA 기초 1. JPA 시작하기 pom.xml persistence.xml main.class Entity.class JPA는 트랜젝션이 중요하다!! EntityManager에서 트랜젝션을 받아와 시작과 롤백 커밋을 해줘야한다!!... JPA 기초SpringJPA 기초 2. JPA 영속성 관리 1) 비영속 VS 영속 영속 상태가 된다고 해서 바로 쿼리가 실행되지 않는다. 트랜잭션 커밋을 해야 쿼리가 날아간다. 2) 준영속 em.detach() 사용 시 영속성 제거 3) 영속성 컨텍스트의 이점 1차 캐시 이전에 찾아온 객체를 다시 조회하지 않고 캐시에 임시 저장해 놓는다. 고객의 요청이 종료되면 1차 캐시가 날라가서 그렇게 큰 쓸모는 없다. 동일성 보장 -> True라고 출력된다. ... JPA 기초SpringJPA 기초 3. 엔티티 매핑 final 클래스, enum, interface, inner 클래스 사용 x 저장할 필드에 final 사용 x 2) 데이터 베이스 스키마 자동 생성 애플리케이션 로딩 시점에 DB 테이블 생성 기능 제공 각기 다른 데이터베이스에 따라 적절한 테이블 생성 이렇게 생성된 DDL은 개발 장비에서만 사용 create-drop: 애플리케이션 종료 시점에 테이블 종료 update: 변경 부분만 반영, 변... JPA 기초SpringJPA 기초
7. 프록시와 연관관계 관리 em.find(): 데이터 베이스를 통해서 실제 엔티티 객체 조회 em.getReference(): 데이터 베이스 조회를 미루는 가짜(프록시) 객체 조회 프록시 특징 프록시 객체는 처음 사용할 때 한번만 초기화 프록시 객체를 초기화할 때 프록시 객체가 실제 엔티티로 바뀌는 것이 아님, 초기화 되면 프록시 객체를 통해 실제 엔티티에 접근 가능 프록시 객체는 원본 엔티티를 상속 받음, 따라서 타... JPA 기초SpringJPA 기초 1. JPA 시작하기 pom.xml persistence.xml main.class Entity.class JPA는 트랜젝션이 중요하다!! EntityManager에서 트랜젝션을 받아와 시작과 롤백 커밋을 해줘야한다!!... JPA 기초SpringJPA 기초 2. JPA 영속성 관리 1) 비영속 VS 영속 영속 상태가 된다고 해서 바로 쿼리가 실행되지 않는다. 트랜잭션 커밋을 해야 쿼리가 날아간다. 2) 준영속 em.detach() 사용 시 영속성 제거 3) 영속성 컨텍스트의 이점 1차 캐시 이전에 찾아온 객체를 다시 조회하지 않고 캐시에 임시 저장해 놓는다. 고객의 요청이 종료되면 1차 캐시가 날라가서 그렇게 큰 쓸모는 없다. 동일성 보장 -> True라고 출력된다. ... JPA 기초SpringJPA 기초 3. 엔티티 매핑 final 클래스, enum, interface, inner 클래스 사용 x 저장할 필드에 final 사용 x 2) 데이터 베이스 스키마 자동 생성 애플리케이션 로딩 시점에 DB 테이블 생성 기능 제공 각기 다른 데이터베이스에 따라 적절한 테이블 생성 이렇게 생성된 DDL은 개발 장비에서만 사용 create-drop: 애플리케이션 종료 시점에 테이블 종료 update: 변경 부분만 반영, 변... JPA 기초SpringJPA 기초